Digital video streams are typically encoded using one of many different encoding standards. For example, a digital video stream may be compressed for conversion into a data format that requires fewer bits. This compression can be lossless such that the original video stream can be recreated upon decoding or can be lossy such that an exact replica of the original video stream cannot be recreated, but where the decoding of the compressed data is more efficient.
Once decoded, a video stream may require rotation for proper display. For example, a digital still image may be rotated ninety degrees to one side, and needs to be rotated to properly view the digital still image. Digital movies are also subject to the need for rotation.
Currently, a frame of a video stream cannot be rotated until the entire frame is decoded and is stored in a memory. This requires a second pass at the decoded data, at an additional cost in both memory and processing overhead.
Accordingly, current digital still image or digital movie rotation is not available until at least a frame is completely decoded and written to memory. Thus, what is needed is a video stream rotation engine that overcomes the limitations on the prior art. The new video stream rotation engine provide for rotating a video stream “on-the-fly,” before the video stream is written to memory.